The disclosed technology relates generally to communication systems, and more particularly, to systems and methods for decoding signal vectors received within communication systems.
To improve the reliability of communication and storage systems, error control coding is commonly applied to the digital information that is conveyed or stored. A suitable error control code is applied to the digital information, which adds redundancy to the data stream. If the same throughput of information is desired in communication, bandwidth expansion is often necessary. Bandwidth expansion refers to an increase in channel bandwidth, typically to allow transmission to occur through the channel with a reduced symbol period. For some channels, especially for those that are low in quality, bandwidth expansion may not be possible or may not be desirable. In these situations, rather than increasing the needed bandwidth, the communication or storage system can utilize modulation schemes with a greater number of signal constellation points. This technique allows for more information to be transmitted at any given time. For example, doubling the number of signal constellation points used for transmission, and therefore doubling the amount of information transmitted each symbol period, may result in substantially the same throughput as maintaining the modulation scheme and doubling the channel bandwidth.
To fully utilize the advantages provided by increasing the number of signal constellation points, the type of modulation and the type of error correcting code should be designed to operate effectively together. This type of data encoding is typically referred to as coded modulation. When a convolutional code is used for the error correcting code, a system typically implements trellis coded modulation (TCM), and when a block code is used, a system typically implements block coded modulation (BCM).
In current systems that employ coded modulation, the TCM or BCM detectors/decoders are highly complex, and require a large amount of resources to operate. In particular, to estimate a received signal vector, the detector/decoder performs many computations that consume a large amount of processing power and/or processing speed. Also, to implement these computations, the detector/decoder may require a large silicon area.